package com.doubao.device.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.doubao.common.result.Result;
import com.doubao.device.dto.SmartDeviceDTO;

/**
 * 用户智能体收藏服务接口
 */
public interface UserDeviceCollectionService {

    /**
     * 收藏智能体
     *
     * @param userId 用户ID
     * @param deviceId 智能体ID
     * @return 收藏结果
     */
    Result<Void> collectDevice(Long userId, Long deviceId);

    /**
     * 取消收藏
     *
     * @param userId 用户ID
     * @param deviceId 智能体ID
     * @return 取消结果
     */
    Result<Void> cancelCollection(Long userId, Long deviceId);

    /**
     * 检查是否已收藏
     *
     * @param userId 用户ID
     * @param deviceId 智能体ID
     * @return 是否已收藏
     */
    Result<Boolean> checkIsCollected(Long userId, Long deviceId);

    /**
     * 获取用户收藏列表
     *
     * @param userId 用户ID
     * @param page 页码
     * @param size 每页大小
     * @return 收藏列表
     */
    Result<IPage<SmartDeviceDTO>> getUserCollections(Long userId, Integer page, Integer size);
} 